import Vue from 'vue';
import App from './App.vue';
import Vant from 'vant';
import VueRouter from 'vue-router';
import routes from '@/router';
import moment from 'moment';
import Vuex from 'vuex';
import storeConfig from '@/store';
import 'vant/lib/index.css';
import '@/assets/styles/main.less';

// 全局组件
import NavBar from '@/components/nav-bar';
import ArticleList from '@/components/article-list';

Vue.component('NavBar', NavBar);
Vue.component('ArticleList', ArticleList);

Vue.use(Vuex);

// 全局设置moment语言
moment.locale('zh-cn');

// 路由
Vue.use(VueRouter);
// 全局注册Vant组件
Vue.use(Vant);

Vue.config.productionTip = false;

new Vue({
  // 挂载路由
  router: new VueRouter({
    routes,
  }),
  // 挂载store
  store: new Vuex.Store(storeConfig),
  render: (h) => h(App),
}).$mount('#app');

// import _ from 'lodash';

// const obj = {
//   zhangsan: {
//     age: 18,
//     hobby: 'basketball',
//     sex: 'boy',
//   },
//   lisi: {
//     age: 18,
//     hobby: 'basketball',
//     sex: 'boy',
//   },
//   wangwu: {
//     age: 19,
//     hobby: 'swim',
//     sex: 'boy',
//   },
// };

// function filterObj(obj, getCondition) {
//   return Object.keys(obj).reduce((p, k) => {
//     const v = obj[k];
//     if (getCondition(v)) {
//       p[k] = v;
//     }
//     return p;
//   }, {});
// }

// // 选出所有hobby为basketball的
// const res1 = filterObj(obj, o => o.hobby === 'basketball');
// console.log(res1);

// // 以hobby为基准进行去重
// const res2 = filterObj(obj, o => o === Object.values(obj).find(v => v.hobby === o.hobby));
// console.log(res2);

// // 以所有值为基准进行去重
// const res3 = filterObj(obj, o => );
